Kritische Erfolgsfaktoren beim Abnahmetest in Redevelopment-Projekten - Erfahrungen aus einem Großprojekt
نویسنده
چکیده
Redevelopment stellt eine besondere Form des Reengineering dar. Dabei werden mit einer Kombination aus Reverse und Forward Engineering-Methoden die wesentlichen Funktionen eines bestehenden Systems neu entwickelt. Im Rahmen der Produktionsabsicherung spielen Abnahmetests als letzte fachliche Teststufe eine wesentliche Rolle. Um diese erfolgreich, d.h. sicher und wirtschaftlich durchführen zu können, müssen einige Faktoren beachtet werden. 1. Besonderheiten von Redevelopment-Projekten In vielen Unternehmen basieren wesentliche Kernsysteme noch immer auf Plattformen und auf Entwicklungssprachen, die nicht mehr zeitgemäß sind. Im konkreten Fall ist dieses ein Hostsystem, auf dem ein im Kern über 20 Jahre altes, zu fast 100% in Assembler geschriebenes System die wesentlichen Services abbildet. Die darin abgebildeten Funktionen sind aber für das Unternehmen von zentraler Bedeutung und müssen dafür für die Zukunft neu ausgerichtet werden. Bekanntlich gibt es für die Evolution von Softwaresystemen mehrere Alternativen (vgl. [Bo02], in diesem Fall wurde ein Redevelopment-Ansatz verfolgt, und in einer service-orientierten Architektur. Dabei sollten die bestehenden Funktionen weitestmöglich 1:1 erneut entwickelt werden. Dazu wurde ein Reverse Engineering (vgl. [Ba96]), gefolgt von aktuellen Methoden des Forward Engineering durchgeführt. Alle Funktionen wurden völlig unter Nutzung von UML neu spezifiziert. Die Vorgaben dazu wurden aus bestehender Dokumentation, Experten-Know-how und im Extremfall durch Ausprobieren am aktuellen System erarbeitet. In einzelnen Bereichen wurden aber von vornherein Verbesserungen eingeplant, so dass das resultierende System das bestehende zu ca. 90% identisch ersetzt und sich im Rest unterscheiden kann. Aufgrund des Redevelopment-Ansatzes konnten die sonst bei Reengineering-Projekten üblichen rigiden Mechanismen [Bo97] bei der eigentlichen Überführung der Funktionen nicht voll angewendet werden, es war allerdings wie dort ein entsprechend umfangreicher Test zum Nachweis der korrekten Überführung der Funktionalität erforderlich. 2. Teststrategie und Testdurchführung 2.1 Globale Teststrategie Im Rahmen der Entwicklung durchlaufen zunächst alle üblichen Softwarekomponenten die üblichen Teststufen der Entwicklung, also insbesondere Unitund Integrationstest. Die letzte Stufe vor der Prüfung der betrieblichen Aspekte (Performance, Durchsatz, Stabilität etc.) stellt der fachliche Abnahmetest dar, der von einer getrennten Organisationseinheit und in der technischen Abwicklung von einem Outsourcer durchgeführt wurde. Durch diese rigide Trennung wurde sichergestellt, dass insbesondere durch die dadurch erforderlichen Liefermechanismen mit sog. Quality-Gates immer ein absolut definierter Software-Release-Level getestet wurde. Die fachlichen Tests, d.h. die Spezifikation der eigentlichen Testfälle, wurde durch eine eigenständige Organisationseinheit vorgenommen. Die Mitarbeiter dieser Abteilung sind auch an den Spezifikationen der Software beteiligt gewesen und haben die Testfalldefinitionen entlang den Softwarespezifikation aufgebaut. Durch diese Abteilung wird letztlich auch die Korrektheit der Software bestätigt, bevor sie in Betrieb genommen werden kann. 2.2 Testziele und entsprechende Nachweise Wie bereits oben angemerkt, handelt es sich um das Redevelopment eines bestehenden und „lebenden“ Systems. Getestet wird dabei gegen also gegen zwei parallele – im Einzelfall ggf. eben auch konträre – Ziele: • „klassisch“ gegen die fachliche Spezifikation der neuen Software • Regression gegen das Verhalten des bestehenden Systems, da dieses für 90% der Funktionen wieder identisch vorhanden sein muss. Der Abnahmetest musste also beiden Zielen gerecht werden und dabei weitestgehend ausnutzt, dass mit dem bestehenden System und dem dafür bekannten Verhalten eine sichere Referenz vorlag, gegen die im Einzelfall auch noch die Korrektheit der neuen Spezifikationen selbst zu prüfen war. 2.3 Testdurchführung Die Tests wurden auf einer getrennten Hardwareund Systemumgebung durchgeführt. Dabei konnten im Extremfall drei verschiedene Softwareversionen mit jeweils unterschiedlichen Datenbeständen getestet werden. Zusätzlich stand eine Host-Testumgebung zur Verfügung, auf der die Referenztests (genauer: Herstellung von Referenztestergebnissen) durchgeführt wurden. Alle fachlichen Testfälle wurden von der fachlichen Abnahmeabteilung in Excel-Dateien mit einem festen Format abgelegt. Dieses Format spiegelt die klassische Aufteilung • Zustand der relevanten Datenobjekte vor dem Testfall • Testfall („Geschäftsvorfall“) selbst • Erwartetes Ergebnis des Testfalls • Erwarteter Datenzustand der relevanten Objekte nach dem Testfall
منابع مشابه
KnowMetrix - Erfahrungen mit der Erfolgsmessung im Wissensmanagement in einem mittelständischen Unternehmen
Es ist allgemein akzeptiert, dass Wissensversorgung und interne Wissensweitergabe unverzichtbare Erfolgsfaktoren für Unternehmen im Wettbewerb sind. Offen ist allerdings wie man den Status des Wissensmanagements eines Unternehmens diagnostiziert, um daraus wirksame Maßnahmen für Verbesserungen abzuleiten. Mit KnowMetrix wird ein Vorschlag gemacht, mit einem vertretbaren Aufwand eine Erfolgsbewe...
متن کاملAgile Management-Praktiken in Saudi-Arabien - Methodenwahl und Toolunterstützung
Klassische und agile Methoden können in einem Projekt durchaus kombiniert verwendet werden. Ein effizienter Methodenwechsel bringt auch in laufenden Projekten Struktur in die Selbststeuerung eines Teams. Bemerkenswert ist die Tendenz von Teams, eigene Rollen, Methoden und Arbeitsprozesse zu definieren. Die Basis für eine erfolgreiche Zusammenarbeit innerhalb der Gesamtprojektorganisation bilden...
متن کاملLernortkooperation in der IT-Ausbildung - Kompetenzentwicklung in Projekten
An der Berufsbildenden Schule für Gewerbe und Technik in Trier werden Anwendungsentwickler an konkreten Projekten ausgebildet. In einer Lernortkooperation werden reale Aufgabenstellungen, die bei einem Softwareentwicklungsunternehmen anfallen, genutzt, um die Themen objektorientierte Programmierung und Design zu erarbeiten, zu reflektieren und zu vertiefen. Ein Unternehmen aus dem benachbarten ...
متن کاملErfahrungsbericht über einen Spezifikationsprozess mit einem bunten Reigen an Methoden und Notationen
1. Einleitung Im folgenden werden die Erfahrungen aus dem Spezifikationsprozess von zwei Projekten vorgestellt. Dabei wurde in dem einen Projekt ein geschäftsorientiertes System, in dem anderen Projekt ein technikbasiertes System spezifiziert. Bei beiden Projekten war das Vorgehen gleich. Die Beschreibung des Spezifikationsprozesses beschränkt sich auf vier Bausteine: (1) eingesetzte Methoden f...
متن کاملSystematische Aggregation von Erfahrungen im Erfahrungsmanagement
Im Bereich Software Engineering werden Erfahrungsmanagement-Systeme wie Experience Factories schon seit langem dazu verwendet, Erfahrungen aus Softwareprojekten zu speichern und zu verwalten. Viele Experience Factories bewahren nicht nur quantitative oder numerische Erfahrungen, z.B. in Form von Projektaufwandsdaten oder Daten aus empirischen Studien, sondern auch subjektive oder qualitative Er...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Softwaretechnik-Trends
دوره 27 شماره
صفحات -
تاریخ انتشار 2007